//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//
// (C) Copyright 2006 Marvell International Ltd.
// All Rights Reserved
//
//------------------------------------------------------------------------------
//
//  File:  BLMenu.h
//
//
//------------------------------------------------------------------------------
/******************************************************************************
**
** INTEL CONFIDENTIAL
** Copyright 2003-2005 Intel Corporation All Rights Reserved.
**
** The source code contained or described herein and all documents
** related to the source code (Material) are owned by Intel Corporation
** or its suppliers or licensors.  Title to the Material remains with
** Intel Corporation or its suppliers and licensors. The Material contains
** trade secrets and proprietary and confidential information of Intel
** or its suppliers and licensors. The Material is protected by worldwide
** copyright and trade secret laws and treaty provisions. No part of the
** Material may be used, copied, reproduced, modified, published, uploaded,
** posted, transmitted, distributed, or disclosed in any way without Intel's
** prior express written permission.
**
** No license under any patent, copyright, trade secret or other intellectual
** property right is granted to or conferred upon you by disclosure or
** delivery of the Materials, either expressly, by implication, inducement,
** estoppel or otherwise. Any license under such intellectual property rights
** must be express and approved by Intel in writing.
**
**
******************************************************************************/

#ifndef _MENU_LOADER_H_
#define _MENU_LOADER_H_

#ifdef __cplusplus
extern "C"
{
#endif



typedef struct MENU_ITEM {
    WCHAR key;
    LPCWSTR text;
    DWORD (*pfnAction)(struct MENU_ITEM *);
    VOID* pParam1;
    VOID* pParam2;
    VOID* pParam3;
	VOID* pParam4;
}MENU_ITEM;


void InitMenuItem( MENU_ITEM *item, WCHAR k, LPCWSTR t, DWORD (*act)(struct MENU_ITEM *), VOID* p1, VOID *p2, VOID*p3,VOID*p4);
DWORD OALBLMenuShow(MENU_ITEM *pMenu);
DWORD OALBLMenuEnableMASK32(MENU_ITEM *pMenu);
DWORD OALBLMenuEnableBOOL(MENU_ITEM *pMenu);

DWORD OALBLMenuDWORDChoose(MENU_ITEM *pMenu);

LPCWSTR GetMenuTextP2EQKey(MENU_ITEM *pMenu,DWORD Index);
BOOL AreYouSure();

#define BSPARGS_START ((BSP_ARGS *)IMAGE_SHARE_ARGS_UA_START)

#ifdef  __cplusplus
}
#endif


#endif

